package com.cskaoyan.javase.oop1._14package;

/**
 * package关键字
 * 作用: package + 包名,它写在Java源文件的第一行，用于声明整个Java文件下的所有类的所属包。
 * 一个Java文件中,所有类都是同包关系,一个包下的两个java文件自然也是同包关系
 * 所以一个包下的所有类都是同包关系,不管在不在一个java文件中.
 * 它们都是不允许同名的
 *
 * 注意事项:
 *      1.如果代码直接写在src目录下,不需要package声明
 *          注:实际开发中绝不会把代码直接写在src目录下
 *      2.package声明应该放在java文件有效代码的第一行,当然注释不算有效代码
 *          但是这实在没必要,一方面package声明idea会自动生成
 *          另一方面把它放在java文件真正意义上的第一行会更好
 *      3.正常情况下,package声明不用管,idea生成不会出错
 *          但是当代码是拷贝来的时,package声明一般都会出错
 *          这时建议直接删除package声明语句
 *          接下来直接alt+回车类名报错的位置即可
 *
 * @since 11:50
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        A a = new A();
        a.test();
        A.aInstance.test();
    }
}
class A{
    static A aInstance = new A();

    public void test(){}
}